package sort

import (
	"fmt"

	as "github.com/emirpasic/gods/stacks/arraystack"
)

type MaxPQ struct{}

func NewMaxPQ() *MaxPQ {
	return &MaxPQ{}
}

func (*MaxPQ) insert(v int) {

}

func (*MaxPQ) Max() (max int) {
	return
}

func (*MaxPQ) DelMin() int {
	return 0
}
func (*MaxPQ) IsEmpty() bool {

	return true
}

func (*MaxPQ) Size() (size int) {
	return
}

func TopM(data []int, m int) {
	pq := NewMaxPQ()
	for _, value := range data {
		pq.insert(value)
		if pq.Size() > m {
			pq.DelMin()
		}
	}
	stack := as.New()
	for !pq.IsEmpty() {
		stack.Push(pq.DelMin())
	}
	fmt.Printf("%v\n", stack.Values())
}
